package com.tankwar.core;

import javafx.scene.canvas.GraphicsContext;
import javafx.scene.image.Image;

/**
 * 基于图片的可绘制对象
 * 
 * @author lifeng
 * @date 2020年4月19日 下午10:41:53
 */
public abstract class ImageDrawAble extends RectDrawAble {

	/**
	 * 图片
	 */
	Image image;

	/**
	 */
	public ImageDrawAble() {
	}

	/**
	 * 根据图片的大小
	 * 
	 * @param x
	 * @param y
	 * @param image
	 */
	public ImageDrawAble(Image image) {
		super(image.getWidth(), image.getHeight());
		this.image = image;
	}

	/**
	 * 根据图片的大小
	 * 
	 * @param x
	 * @param y
	 * @param image
	 */
	public ImageDrawAble(double x, double y, Image image) {
		super(x, y, image.getWidth(), image.getHeight());
		this.image = image;
	}

	/**
	 * 设置图片
	 * 
	 * @param image 图片
	 */
	public void setImage(Image image) {
		this.image = image;
		this.setWidth(this.image.getWidth());
		this.setHeight(this.image.getHeight());
	}

	/**
	 * 绘制图片
	 */
	@Override
	public void draw(GraphicsContext gc) {
		gc.drawImage(image, this.getX(), this.getY(), this.getWidth(), this.getHeight());
	}
}
